home *** CD-ROM | disk | FTP | other *** search
/ PC PowerPlay 58 / pcpp58a.iso / extras / quake 3 source / Q3A_ToolSource.exe / Main / shaders.h < prev    next >
Encoding:
Text File  |  2001-01-02  |  2.0 KB  |  51 lines

  1.  
  2.  
  3. typedef struct shaderInfo_s {
  4.     char        shader[MAX_QPATH];
  5.     int            surfaceFlags;
  6.     int            contents;
  7.     int            value;
  8.  
  9.     char        backShader[MAX_QPATH];    // for surfaces that generate different front and back passes
  10.     char        flareShader[MAX_QPATH];    // for light flares
  11.  
  12.     float        subdivisions;            // from a "tesssize xxx"
  13.     float        backsplashFraction;        // floating point value, usually 0.05
  14.     float        backsplashDistance;        // default 16
  15.     float        lightSubdivide;            // default 120
  16.     int            lightmapSampleSize;        // lightmap sample size
  17.  
  18.     qboolean    hasPasses;                // false if the shader doesn't define any rendering passes
  19.  
  20.     qboolean    globalTexture;            // don't normalize texture repeats
  21.  
  22.     qboolean    twoSided;                // cull none
  23.     qboolean    autosprite;                // autosprite shaders will become point lights
  24.                                         // instead of area lights
  25.     qboolean    lightFilter;            // light rays that cross surfaces of this type
  26.                                         // should test against the filter image
  27.     qboolean    forceTraceLight;        // always use -light for this surface
  28.     qboolean    forceVLight;            // always use -vlight for this surface
  29.     qboolean    patchShadows;            // have patches casting shadows when using -light for this surface
  30.     qboolean    vertexShadows;            // shadows will be casted at this surface even when vertex lit
  31.     qboolean    noVertexShadows;        // no shadows will be casted at this surface in vertex lighting
  32.     qboolean    forceSunLight;            // force sun light at this surface even tho we might not calculate shadows in vertex lighting
  33.     qboolean    notjunc;                // don't use this surface for tjunction fixing
  34.     float        vertexScale;            // vertex light scale
  35.  
  36.     char        editorimage[MAX_QPATH];    // use this image to generate texture coordinates
  37.     char        lightimage[MAX_QPATH];    // use this image to generate color / averageColor
  38.     vec3_t        color;                    // colorNormalized
  39.     vec3_t        averageColor;
  40.  
  41.     int            width, height;
  42.     byte        *pixels;
  43.  
  44.     vec3_t        sunLight;
  45.     vec3_t        sunDirection;
  46. } shaderInfo_t;
  47.  
  48. void LoadShaderInfo( void );
  49. shaderInfo_t    *ShaderInfoForShader( const char *shader );
  50.  
  51.